package com.wp.other;

import java.util.Comparator;
import java.util.Random;
import java.util.TreeSet;

/**
 * Created by 王萍 on 2017/10/25 0025.
 */
//随机生成20个不重复的小写字母并进行排序，排序方式为倒序
public class 字母排序 {
    private static char getRamdomChar(Random rdm){
        int i = Math.abs(rdm.nextInt())%26+97;//产生97到122的随机数a-z值;
        i = i%26;
        i=i+97;
        return (char)i;
    }

    public static void main(String[] args) {

        TreeSet<Character> tset = new TreeSet<Character>(new Comparator<Character>() {

            @Override
            public int compare(Character o1, Character o2) {
                if(o1>o2)
                    return -1;
                else if(o1<o2)
                    return 1;
                return 0;
            }
        });

        Random rdm = new Random();
        while(tset.size() < 20){
            tset.add(getRamdomChar(rdm));
        }
        for(Object aa:tset.toArray()){
            System. out .print(aa);
        }
    }
//    private static int[] array = new int[20];
//
//    public static void main(String[] args) {
//        for (int i = 0; i < 20; i++) {
//            int randomNumber = (int) (Math.random() * 26 + 'a');
//            if (isInArray(randomNumber)) {
//                i--;
//                continue;
//            }
//            array[i]=randomNumber;
//        }
//        sort(array,0,array.length-1);
//        for (int i = 0; i < array.length; i++) {
//            System.out.print((char)array[i]);
//        }
//    }
//
//    private static boolean isInArray(int number) {
//        for (int i = 0; i < array.length; i++) {
//            if (number == array[i]) return true;
//        }
//        return false;
//    }
//
//    public static void sort(int[] array,int lo ,int hi){
//        if(lo>=hi){
//            return ;
//        }
//        int index=partition(array,lo,hi);
//        sort(array,lo,index-1);
//        sort(array,index+1,hi);
//    }
//
//    public static int partition(int []array,int lo,int hi){
//        int key=array[lo];
//        while(lo<hi){
//            while(array[hi]<=key&&hi>lo){
//                hi--;
//            }
//            array[lo]=array[hi];
//            while(array[lo]>=key&&hi>lo){
//                lo++;
//            }
//            array[hi]=array[lo];
//        }
//        array[hi]=key;
//        return hi;
//    }
}
